home *** CD-ROM | disk | FTP | other *** search
-
- opt o+,w-
- output dh2:CkyZoomB.o
- IncDir "dh1:Assembler/"
- Include "AMOS/|AMOSPro_Includes.s"
-
- rsreset
- O_ScreenPlane4 rs.l 1
- O_ZoomWidth rs.w 1
- O_ZoomHeight rs.w 1
- O_ZoomOrgWidth rs.w 1
- O_ZoomOrgHeight rs.w 1
- O_ZoomPosX rs.w 1
- O_ZoomActX rs.w 1
- O_ZoomActY rs.w 1
- O_ScreenWidth rs.w 1
- O_SizeOf rs.b 0
-
- ckyzoom movem.l a3-a6,-(sp)
- lea .dats(pc),a6
- move.w d0,O_ZoomWidth(a6)
- bne.s .contt
- .quit movem.l (sp)+,a3-a6
- rts
- .contt tst.w d1
- beq.s .quit
- lea 96(a0),a4
- move.w (a0),O_ZoomOrgWidth(a6)
- move.w 2(a0),d7
- move.l ScOnAd(a5),a3
- moveq.l #0,d4
- move.w d2,O_ZoomPosX(a6)
- move.w EcTx(a3),d4
- lsr.w #3,d4
- move.w d4,O_ScreenWidth(a6)
- mulu d3,d4
- move.w d4,O_ZoomActY(a6)
- move.w d7,O_ZoomOrgHeight(a6)
- move.l (a3)+,a0
- move.l (a3)+,a1
- move.l (a3)+,a2
- move.l 4(a3),O_ScreenPlane4(a6)
- move.l (a3),a3
- move.w d1,d0
- move.w d7,d2
- subq.w #1,d7
- lsr.w d0
- .loopy sub.w d1,d0
- bpl .nexlin
- .loopy2 add.w d2,d0
- movem.w d0-d2/d7,-(sp)
- move.w O_ZoomPosX(a6),O_ZoomActX(a6)
- move.w O_ZoomOrgWidth(a6),d0
- move.w O_ZoomWidth(a6),d1
- move.w d0,d6
- subq.w #1,d6
- move.w d0,d2
- move.w d1,d0
- lsr.w d0
- .loopx sub.w d1,d0
- bpl .nexlow
- .loopx2 add.w d2,d0
- move.w O_ZoomActX(a6),d3
- addq.w #1,O_ZoomActX(a6)
- moveq.l #0,d4
- move.b (a4),d4
- beq .nexrow
- move.b d3,d5
- lsr.w #3,d3
- and.w #7,d5
- add.w O_ZoomActY(a6),d3
- add.w d4,d4
- lea .table1(pc,d5.w),a5
- add.w d4,d4
- move.b (a5),d5
- move.b 8(a5),d7
- lea .tabl(pc),a5
- adda.l -4(a5,d4.w),a5
- move.l a5,-(sp)
- move.l O_ScreenPlane4(a6),a5
- rts
- .table1 dc.b %10000000,%01000000,%00100000,%00010000
- dc.b %00001000,%00000100,%00000010,%00000001
- dc.b %01111111,%10111111,%11011111,%11101111
- dc.b %11110111,%11111011,%11111101,%11111110
-
- .tabl dc.l (.col01-.tabl),(.col02-.tabl),(.col03-.tabl)
- dc.l (.col04-.tabl),(.col05-.tabl),(.col06-.tabl),(.col07-.tabl)
- dc.l (.col08-.tabl),(.col09-.tabl),(.col0a-.tabl),(.col0b-.tabl)
- dc.l (.col0c-.tabl),(.col0d-.tabl),(.col0e-.tabl),(.col0f-.tabl)
- dc.l (.col10-.tabl),(.col11-.tabl),(.col12-.tabl),(.col13-.tabl)
- dc.l (.col14-.tabl),(.col15-.tabl),(.col16-.tabl),(.col17-.tabl)
- dc.l (.col18-.tabl),(.col19-.tabl),(.col1a-.tabl),(.col1b-.tabl)
- dc.l (.col1c-.tabl),(.col1d-.tabl),(.col1e-.tabl),(.col1f-.tabl)
- cnop 0,4
-
- .nexrow tst.w d0
- blt .loopx2
- .nexlow addq.l #1,a4
- dbra d6,.loopx
- movem.w (sp)+,d0-d2/d7
- move.w O_ScreenWidth(a6),d3
- add.w d3,O_ZoomActY(a6)
- tst.w d0
- bpl.s .skilin
- move.w O_ZoomOrgWidth(a6),d3
- suba.w d3,a4
- bra .loopy2
- .nexlin moveq.l #0,d3
- move.w O_ZoomOrgWidth(a6),d3
- add.l d3,a4
- .skilin dbra d7,.loopy
- movem.l (sp)+,a3-a6
- rts
- .col01 or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra.s .nexrow
- .col02 and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra.s .nexrow
- .col03 or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra.s .nexrow
- .col04 and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col05 or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col06 and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col07 or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col08 and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col09 or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col0a and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col0b or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col0c and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col0d or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col0e and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col0f or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a5,d3.w)
- bra .nexrow
- .col10 and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col11 or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col12 and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col13 or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col14 and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col15 or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col16 and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col17 or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- and.b d7,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col18 and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col19 or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a3,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col1a and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col1b or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- and.b d7,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col1c and.b d7,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col1d or.b d5,(a0,d3.w)
- and.b d7,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col1e and.b d7,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
- .col1f or.b d5,(a0,d3.w)
- or.b d5,(a1,d3.w)
- or.b d5,(a2,d3.w)
- or.b d5,(a3,d3.w)
- or.b d5,(a5,d3.w)
- bra .nexrow
-
- .dats ds.b O_SizeOf
-